package com.集合.Map___;

import com.常用类.日期类.第三代日期LocalDate.格式化LocalDate;

import java.util.HashMap;
import java.util.Map;

@SuppressWarnings("all")
public class Map接口特点1 {
    public static void main(String[] args) {
        /**Map
         * 1.用于保存具有映射关系的数据 key-value（双列元素）；
         *2.Map当中不允许重复添加相同的 Key，因为hash值一样，当前位置已经有了元素，如果重复了，会覆盖前面的key-value对应的元素；
         *3. Map当中允许value的重复；
         * 4.Map中key和value能为null，但key只能有一个null；
         * 5.key和value是单项一对一的关系，即通过指定的key总能找到对应的value    map.get(key) -->value
         */
        //1.
        Map hashMap = new HashMap();
        hashMap.put("no1","韩顺平");//添加成功
        hashMap.put("no2","张飞");//添加成功
        System.out.println(hashMap); //{no2=张飞, no1=韩顺平}
        //2.
        hashMap.put("no1","李白");//key值重复，用李白 覆盖当前key对应的value：韩顺平
        System.out.println(hashMap);//{no2=张飞, no1=李白}
        //3.
        hashMap.put("no3","李白");//允许value的重复；
        System.out.println(hashMap);// {no2=张飞, no1=李白, no3=李白}
        //4.
        hashMap.put(null,null);//添加成功；
        System.out.println(hashMap);//{no2=张飞, null=null, no1=李白, no3=李白}
        hashMap.put(null,"abcd");//因为key不能重复，直接覆盖value为 abcd；
        System.out.println(hashMap);//{no2=张飞, null=abcd, no1=李白, no3=李白}

        //5.
        Object obj = hashMap.get(null);//key为null，找到对应的唯一value abcd；
        System.out.println(obj); //abcd
    }
}
